package com.ruoyi.wlxz.mapper;

import java.time.LocalDate;
import java.util.List;
import com.ruoyi.wlxz.domain.Historychat;
import io.lettuce.core.dynamic.annotation.Param;
import org.apache.ibatis.annotations.Mapper;

/**
 * 历史对话Mapper接口
 * 
 * @author zhanghao
 * @date 2025-03-07
 */
@Mapper
public interface HistorychatMapper 
{
    /**
     * 查询历史对话
     * 
     * @param id 历史对话主键
     * @return 历史对话
     */
    public Historychat selectHistorychatById(Long id);

    /**
     * 查询历史对话列表
     * 
     * @param historychat 历史对话
     * @return 历史对话集合
     */
    public List<Historychat> selectHistorychatList(Historychat historychat);

    /**
     * 新增历史对话
     * 
     * @param historychat 历史对话
     * @return 结果
     */
    public int insertHistorychat(Historychat historychat);

    /**
     * 修改历史对话
     * 
     * @param historychat 历史对话
     * @return 结果
     */
    public int updateHistorychat(Historychat historychat);

    /**
     * 删除历史对话
     * 
     * @param id 历史对话主键
     * @return 结果
     */
    public int deleteHistorychatById(Long id);

    /**
     * 批量删除历史对话
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHistorychatByIds(Long[] ids);


/**
     * 根据chatId删除历史对话
     * @param chatId
     * @return
     */
    public int deleteByChatId(String chatId);

    /**
     * 根据日期查询历史对话
     * @param startDate
     * @return
     */
    List<Historychat> getHistoryChatByData(@Param("startDate") LocalDate startDate, @Param("deptId") int deptId);

    /**
     * 查询所有历史对话
     * @param startDate
     * @return
     */
    List<Historychat> getHistoryChatAll(LocalDate startDate);

    /**
     * 根据日期查询历史对话
     * @param startDate
     * @return
     */
    List<String> getWordCloudByData(LocalDate startDate);
}
